package com.sunrise.estoque.repositorio;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

import com.sunrise.estoque.repositorio.iface.EstoqueDao;
import com.sunrise.generico.acesso.DaoNegocioService;
import com.sunrise.generico.entidade.Estoque;

@Repository
public class EstoqueDaoImpl extends DaoNegocioService<Estoque> implements EstoqueDao {

	public List<Estoque> listarOrdenado() {
		return listar(Estoque.class);
	}

	public Estoque getById(Long id) {
		return getById(id, Estoque.class);
	}

	@Override
	public Estoque buscarPorProduto(Long id, Long idFilial) {
		Criteria crit = getSession().createCriteria(Estoque.class);
		crit.createAlias("produto", "prod");
		crit.add(Restrictions.eq("prod.id", id));
		crit.createAlias("filial", "fil");
		crit.add(Restrictions.eq("fil.id", idFilial));
		return (Estoque) crit.uniqueResult();
	}
	
}

